﻿using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Infrastructure
{
    [DataContract]
   public class FileTransferProtocol
    {
        public FileTransferProtocol()
        {
            kwargs = new Dictionary<string, string>();
        }

        /// <summary>
        /// 消息传递
        /// </summary>
        [DataMember]
        public string Msg { get; set; }

        /// <summary>
        /// 文件数据
        /// </summary>
        [DataMember]
        public byte[] Buffer { get; set; }

        /// <summary>
        /// 文件指针位置
        /// </summary>
        [DataMember]
        public long OffSet { get; set; }

        /// <summary>
        /// 文件长度
        /// </summary>
        [DataMember]
        public long Length { get; set; }

        /// <summary>
        /// 文件的最终存储位置，前面是靠拼接的，觉得增加一个落地文件的位置好点，最好是能存储到数据库，
        /// 这样下载的时候可以不需要再拼接路径（毕竟路径内的日期取的是当前日期，似乎没办法回溯）
        /// </summary>
        [DataMember]
        public string FileLocation { get; set; }

        /// <summary>
        /// 自定义参数字典，可任意扩展/考虑到扩展性和兼容性
        /// </summary>
        [DataMember]
        public Dictionary<string, string> kwargs { get; set; }
    }
}
